Compilation et optimisation statique des communications hôte-accélérateur
نویسندگان
چکیده
Résumé La puissance de calcul disponible dans les machines hybrides à base d’accélérateurs matériels nécessite de réécrire les programmes selon un modèle complexe et réparti : les données traitées doivent être copiées entre mémoire de l’hôte et mémoire de l’accélérateur. Cette contrainte est régulièrement identifiée comme le goulet d’étranglement. Nous proposons une transformation automatique que nous avons implémentée comme une passe de compilation au sein de PIPS/PAR4ALL qui génère statiquement des instructions de copies entre l’hôte et l’accélérateur selon deux stratégies « au plus tôt » et « au plus tard ». De plus les communications inutiles avec l’hôte résultant d’une réutilisation de données entre deux appels de noyaux sont évitées. Alors que les instructions initiant les transferts mémoire sont générées statiquement, un support exécutif associe lorsque nécessaire les tableaux de données de l’hôte à des zones mémoires sur l’accélérateur. Nous présentons les gains obtenus avec des expériences.
منابع مشابه
Évaluation de efficacité des implémentations de l'héritage multiple en typage statique
Résumé. La programmation par objets présente une apparente incompatibilité entre trois termes : l’héritage multiple, l’efficacité et l’hypothèse du monde ouvert — en particulier, le chargement dynamique. Cet article présente des résultats d’expérimentations exhaustives comparant l’efficacité de différentes techniques d’implémentation (coloration, BTD, hachage parfait, ...) dans le contexte de d...
متن کاملTypage fort et typage souple des collections topologiques et des transformations
Les collections topologiques permettent de considérer uniformément de nombreuses structures de données dans un langage de programmation et sont manipulées par des fonctions définies par filtrage appelées des transformations. Nous présentons dans cet article deux systèmes de types pour des langages intégrant les collections topologiques et les transformations. Le premier est un système à typage ...
متن کاملA Method for Static Scheduling of Dynamic Control Programs Preliminary Version
Static scheduling consists in compile-time mapping of operations onto logical execution dates. However, scheduling so far only applies to static control programs, i.e. roughly to nests of do (or for) l o o p s. T o extend scheduling to dynamic control programs, one needs a method that 1) is consistent with unpredictable control ows (and thus unpredictable iteration domains) 2) is consistent wit...
متن کاملDifférentiation automatique et formes de Taylor en analyse statique de programmes numériques
Résumé Des travaux récents sur l’analyse statique de programmes numériques ont montré que les techniques d’interprétation abstraite étaient adaptées à la validation de la précision des calculs en arithmétique flottante. L’utilisation des intervalles comme domaine numérique, même avec des méthodes de subdivision, induit une sur-approximation des résultats en particulier par l’existence de l’effe...
متن کاملStatic debugging of C programs: detection of pointer errors in recursive data structures
The incorrect use of pointers is one of the most common source of bugs in imperative languages. In this context, any kind of static code checking capable of detecting potential bugs at compile time is welcome. This paper presents a static debugging technique for the detection of incorrect accesses to memory (dereferences of invalid pointers). The analysed language is a subset of C. The tool is ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Technique et Science Informatiques
دوره 31 شماره
صفحات -
تاریخ انتشار 2012